想入坑Arch好久了,但是有很多次都因为在解决引导的时候就卡了,最后一直没能装上。经过上次制作启动盘的经验,对于grub有了更多的了解。这次再次尝试安装,虽然经历了一些挫折,但还是成功了。下面是具体的安装过程。
首先用u盘引导系统,接下来就进入了arch的Live CD模式(雾)。这也是arch linux最劝退的一步,很多人看到装个系统都要命令行,就退了.。其实用命令行装系统才能真正在装系统的同时学习到知识。
同步时间
由于arch采用网络安装的方式,所以先让计算机连接上网络,并执行
timedatectl set-ntp true
硬盘分区
对硬盘进行分区
fdisk /dev/sdY
需要注意的是,如果电脑为UEFI引导的,需要将硬盘设置为GPT分区,否则为传统MBR模式。由于我装双系统,所以就只分了一个分区作为根目录,一个分区作为交换分区。
交换分区记得将分区的类型设置为82,这样可以让systemd自动发现并挂载。
格式化交换分区
mkswap /sdYM
格式化主分区
mkfs.ext4 /sdYN
将主分区挂载至/mnt,将EFI分区挂载至/mnt/boot
mount /dev/sdYN /mnt #挂载主分区
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot #挂载EFI分区
安装系统文件
pacstrap /mnt base base-devel
生成fstab文件并检查
genfstab -U /mnt >> /mnt/etc/fstab
cat /mnt/etc/fstab
添加swap分区的UUID到fstab
echo "#/dev/sdYM swap \n UUID=`lsblk -no UUID /dev/sdYM` none swap defaults 0 0" >> /mnt/etc/fstab
chroot到新的系统目录,由于普通的chroot容器有一些问题,所以我们采用专门开发的arch-chroot
arch-chroot /mnt
设置时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc --utc
设置本地化信息,打开/etc/locale.gen,取消以下几行的注释
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
zh_TW.UTF-8 UTF-8
运行
locale-gen
以生成本地化配置文件
在hosts中设置localhost,如果不设置也行,但会造成firefox打开慢等问题
#在/etc/hosts中加入
127.0.0.1 localhost
设置root密码
passwd
如果使用intel处理器,安装intel-ucode以启用微码更新
pacman -S intel-ucode
下面进入第二阶段,安装开机引导
安装grub
pacman -S grub
grub-insatll --efi-directory=/boot
配置grub
pacman os-prober
mkdir /mnt/windows
mount /dev/sda2 /mnt/windows#挂载其他系统的磁盘
grub-mkconfig -o /boot/grub/gurb.cfg
至此就可以正常进入系统了,重启
exit
umount -R /mnt
reboot
如果仍然进入windows的话,在windows借助一些工具,如bootice来修改UEFI启动顺序,将arch放到第一个。
第三阶段,安装GNOME桌面
首先解决显卡驱动的问题,以英特尔和英伟达双显卡驱动为例,安装相关驱动和humblebee——实现显卡交火的工具
sudo pacman -S humblebee mesa xf86-video-intel nvidia primus
安装后系统命令将默认用集成显卡运行,如果需要使用独显运行,使用
primusrun 命令
曾经linux下主流的显示协议是X11,现在GNOME已经切换到了效率更高的Wayland,直接安装gnome软件组来获取所有套件
sudo pacman -S gnome
如果需要其他的gnome软件包的话运行
sudo pacman -S gnome-extra
开启gdm
systemctl enable gdm
重启系统,就这样,基本的arch linux就安装好了
贴一张安装好的截图:
!安装后